package com.itheima.work1120;

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.HashMap;


public class Demo6 {
    public static void main(String[] args) {
        // 创建一个Scanner对象，用于从键盘获取输入
        Scanner scanner = new Scanner(System.in);

        // 提示用户输入一个字符串
        System.out.println("请输入一个字符串:");
        String input = scanner.nextLine();

        // 调用方法统计字符数量
        Map<Character, Integer> charCount = countnum(input);

        // 遍历Map并输出结果
        for (Map.Entry<Character, Integer> entry : charCount.entrySet()) {
            System.out.print(entry.getKey() + "(" + entry.getValue() + ") ");
        }
    }

    // 统计字符串中各个字符数量的方法
    public static Map<Character, Integer> countnum(String input) {
        Map<Character, Integer> charCount = new HashMap<>();

        // 遍历字符串中的每一个字符
        for (char c : input.toCharArray()) {
            // 忽略空格字符（根据需求，如果空格也需要统计，可以移除这行代码）
            if (c == ' ') {
                continue;
            }
            // 如果字符已经在Map中，数量加1
            if (charCount.containsKey(c)) {
                charCount.put(c, charCount.get(c) + 1);
            }
            // 如果字符不在Map中，初始化数量为1
            else {
                charCount.put(c, 1);
            }
        }

        return charCount;
    }
}
